using RestaurantFinder.Core.Models;

namespace RestaurantFinder.Core.Services;

/// <summary>
/// 餐厅服务接口
/// </summary>
public interface IRestaurantService
{
    /// <summary>
    /// 搜索指定位置附近的餐厅
    /// </summary>
    /// <param name="userLocation">用户位置</param>
    /// <param name="radiusInMeters">搜索半径（米）</param>
    /// <returns>餐厅列表</returns>
    Task<List<Restaurant>> SearchRestaurantsAsync(Location userLocation, int radiusInMeters);

    /// <summary>
    /// 从餐厅列表中随机选择一家
    /// </summary>
    /// <param name="restaurants">餐厅列表</param>
    /// <returns>随机选择的餐厅</returns>
    Restaurant? SelectRandomRestaurant(IList<Restaurant> restaurants);
} 